<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>document2html: tools Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">document2html
   &#160;<span id="projectnumber">1.0</span>
   </div>
   <div id="projectbrief">Documents to HTML converter</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('namespacetools.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">tools Namespace Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Helper functions (strings, files, etc.)  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a8f7cbf1f86575b5c10ada839f0d3e024"><td class="memItemLeft" align="right" valign="top"><a id="a8f7cbf1f86575b5c10ada839f0d3e024"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>LOCK</b> = std::unique_lock&lt; std::mutex &gt;</td></tr>
<tr class="separator:a8f7cbf1f86575b5c10ada839f0d3e024"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Files</div></td></tr>
<tr class="memitem:a279dbca90c35b1c2ffacd5ae992c7de4"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a279dbca90c35b1c2ffacd5ae992c7de4">absolutePath</a> (const std::string &amp;fileName)</td></tr>
<tr class="memdesc:a279dbca90c35b1c2ffacd5ae992c7de4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get absolute file path.  <a href="#a279dbca90c35b1c2ffacd5ae992c7de4">More...</a><br /></td></tr>
<tr class="separator:a279dbca90c35b1c2ffacd5ae992c7de4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93d143f93cbc27e9fa0b33ee540cb223"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a93d143f93cbc27e9fa0b33ee540cb223">os_rmdir</a> (const char *dir)</td></tr>
<tr class="memdesc:a93d143f93cbc27e9fa0b33ee540cb223"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rmdir realisation depending on OS.  <a href="#a93d143f93cbc27e9fa0b33ee540cb223">More...</a><br /></td></tr>
<tr class="separator:a93d143f93cbc27e9fa0b33ee540cb223"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78f14ccae7c9f8268d740f27181bfc68"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a78f14ccae7c9f8268d740f27181bfc68">os_mkdir</a> (const char *dir)</td></tr>
<tr class="memdesc:a78f14ccae7c9f8268d740f27181bfc68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mkdir realisation depending on OS.  <a href="#a78f14ccae7c9f8268d740f27181bfc68">More...</a><br /></td></tr>
<tr class="separator:a78f14ccae7c9f8268d740f27181bfc68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadd4385b8bfaf6de5ed567c40c4b6862"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#aadd4385b8bfaf6de5ed567c40c4b6862">os_mkdtemp</a> (char *dir)</td></tr>
<tr class="memdesc:aadd4385b8bfaf6de5ed567c40c4b6862"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mkdtemp realisation depending on OS.  <a href="#aadd4385b8bfaf6de5ed567c40c4b6862">More...</a><br /></td></tr>
<tr class="separator:aadd4385b8bfaf6de5ed567c40c4b6862"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08f0fc2373dac29ac2f465e214ad5e8e"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a08f0fc2373dac29ac2f465e214ad5e8e">getProgramPath</a> ()</td></tr>
<tr class="memdesc:a08f0fc2373dac29ac2f465e214ad5e8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current executable file directory to make absolute path.  <a href="#a08f0fc2373dac29ac2f465e214ad5e8e">More...</a><br /></td></tr>
<tr class="separator:a08f0fc2373dac29ac2f465e214ad5e8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad5d7ef4f195ddf921a9d767ef7c1f83"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#aad5d7ef4f195ddf921a9d767ef7c1f83">isDirectory</a> (const std::string &amp;path)</td></tr>
<tr class="memdesc:aad5d7ef4f195ddf921a9d767ef7c1f83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if path is directory.  <a href="#aad5d7ef4f195ddf921a9d767ef7c1f83">More...</a><br /></td></tr>
<tr class="separator:aad5d7ef4f195ddf921a9d767ef7c1f83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac746b599f8c902bb76e82c3200fc9562"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#ac746b599f8c902bb76e82c3200fc9562">createDir</a> (const std::string &amp;name)</td></tr>
<tr class="memdesc:ac746b599f8c902bb76e82c3200fc9562"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively create directory.  <a href="#ac746b599f8c902bb76e82c3200fc9562">More...</a><br /></td></tr>
<tr class="separator:ac746b599f8c902bb76e82c3200fc9562"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa84f46f23807afb5657576f33866fcb5"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#aa84f46f23807afb5657576f33866fcb5">createTempDir</a> ()</td></tr>
<tr class="memdesc:aa84f46f23807afb5657576f33866fcb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create temp directory.  <a href="#aa84f46f23807afb5657576f33866fcb5">More...</a><br /></td></tr>
<tr class="separator:aa84f46f23807afb5657576f33866fcb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a038d4029abc7692fb9e6606089d8ca5b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a038d4029abc7692fb9e6606089d8ca5b">deleteDir</a> (const std::string &amp;name, bool deleteSelf=true)</td></tr>
<tr class="memdesc:a038d4029abc7692fb9e6606089d8ca5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively delete directory.  <a href="#a038d4029abc7692fb9e6606089d8ca5b">More...</a><br /></td></tr>
<tr class="separator:a038d4029abc7692fb9e6606089d8ca5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af03096f8531c055ad3cd70817ea253e0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#af03096f8531c055ad3cd70817ea253e0">fileExists</a> (const std::string &amp;name)</td></tr>
<tr class="memdesc:af03096f8531c055ad3cd70817ea253e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if file exists.  <a href="#af03096f8531c055ad3cd70817ea253e0">More...</a><br /></td></tr>
<tr class="separator:af03096f8531c055ad3cd70817ea253e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1af504bf51df5e32b8e74b11a94b6b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#ab1af504bf51df5e32b8e74b11a94b6b6">moveFile</a> (const std::string &amp;oldDir, const std::string &amp;oldName, const std::string &amp;newDir, const std::string &amp;newName)</td></tr>
<tr class="memdesc:ab1af504bf51df5e32b8e74b11a94b6b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move file.  <a href="#ab1af504bf51df5e32b8e74b11a94b6b6">More...</a><br /></td></tr>
<tr class="separator:ab1af504bf51df5e32b8e74b11a94b6b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2230fe6af4f64a23efb4c8723848839c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a2230fe6af4f64a23efb4c8723848839c">getFileNameFromPath</a> (const std::string &amp;path)</td></tr>
<tr class="memdesc:a2230fe6af4f64a23efb4c8723848839c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get file name from path (without extension)  <a href="#a2230fe6af4f64a23efb4c8723848839c">More...</a><br /></td></tr>
<tr class="separator:a2230fe6af4f64a23efb4c8723848839c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a812e001de085f32b853874c7d08fa076"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a812e001de085f32b853874c7d08fa076">getBaseDir</a> (std::string str1, std::string str2)</td></tr>
<tr class="memdesc:a812e001de085f32b853874c7d08fa076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get get base directory for 2 files.  <a href="#a812e001de085f32b853874c7d08fa076">More...</a><br /></td></tr>
<tr class="separator:a812e001de085f32b853874c7d08fa076"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a736dbe10baa23bd1f164ee5b9c9893b1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a736dbe10baa23bd1f164ee5b9c9893b1">getFileCount</a> (const std::string &amp;name)</td></tr>
<tr class="memdesc:a736dbe10baa23bd1f164ee5b9c9893b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get amount of files in directory.  <a href="#a736dbe10baa23bd1f164ee5b9c9893b1">More...</a><br /></td></tr>
<tr class="separator:a736dbe10baa23bd1f164ee5b9c9893b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Strings</div></td></tr>
<tr class="memitem:ac16b995cc07db91da70d0f7c14c0447a"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#ac16b995cc07db91da70d0f7c14c0447a">trim</a> (const std::string &amp;str, const std::string &amp;delimiter=&quot; \\\\\0B&quot;)</td></tr>
<tr class="memdesc:ac16b995cc07db91da70d0f7c14c0447a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove whitespaces and other characters from both sides of string (std::string)  <a href="#ac16b995cc07db91da70d0f7c14c0447a">More...</a><br /></td></tr>
<tr class="separator:ac16b995cc07db91da70d0f7c14c0447a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a048fe42e40e4032ceb2eb1442854591a"><td class="memItemLeft" align="right" valign="top">std::wstring&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a048fe42e40e4032ceb2eb1442854591a">trim</a> (const std::wstring &amp;str, const std::wstring &amp;delimiter=L&quot; \\\\\0B&quot;)</td></tr>
<tr class="memdesc:a048fe42e40e4032ceb2eb1442854591a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove whitespaces and other characters from both sides of string (std::wstring)  <a href="#a048fe42e40e4032ceb2eb1442854591a">More...</a><br /></td></tr>
<tr class="separator:a048fe42e40e4032ceb2eb1442854591a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8e5ba98daed76b7d7e715d4d0139841"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#af8e5ba98daed76b7d7e715d4d0139841">ltrim</a> (const std::string &amp;str, const std::string &amp;delimiter=&quot; \\\\\0B&quot;)</td></tr>
<tr class="memdesc:af8e5ba98daed76b7d7e715d4d0139841"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove whitespaces and other characters from begining of string.  <a href="#af8e5ba98daed76b7d7e715d4d0139841">More...</a><br /></td></tr>
<tr class="separator:af8e5ba98daed76b7d7e715d4d0139841"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f94493c0844d8d9ab256dcb57b0c39c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a3f94493c0844d8d9ab256dcb57b0c39c">rtrim</a> (const std::string &amp;str, const std::string &amp;delimiter=&quot; \\\\\0B&quot;)</td></tr>
<tr class="memdesc:a3f94493c0844d8d9ab256dcb57b0c39c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove whitespaces and other characters from end of string.  <a href="#a3f94493c0844d8d9ab256dcb57b0c39c">More...</a><br /></td></tr>
<tr class="separator:a3f94493c0844d8d9ab256dcb57b0c39c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab30cbe8ad8776fddd6e4816ee620366f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#ab30cbe8ad8776fddd6e4816ee620366f">lpad</a> (const std::string &amp;str, size_t length, char filler)</td></tr>
<tr class="memdesc:ab30cbe8ad8776fddd6e4816ee620366f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pad string to a certain length with another string (from left)  <a href="#ab30cbe8ad8776fddd6e4816ee620366f">More...</a><br /></td></tr>
<tr class="separator:ab30cbe8ad8776fddd6e4816ee620366f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acecb100f4bf2747804ab45555d784594"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#acecb100f4bf2747804ab45555d784594">rpad</a> (const std::string &amp;str, size_t length, char filler)</td></tr>
<tr class="memdesc:acecb100f4bf2747804ab45555d784594"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pad string to a certain length with another string (from right)  <a href="#acecb100f4bf2747804ab45555d784594">More...</a><br /></td></tr>
<tr class="separator:acecb100f4bf2747804ab45555d784594"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae17fcc35226bbc1ad81d2c490dc0732a"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#ae17fcc35226bbc1ad81d2c490dc0732a">replace</a> (const std::string &amp;str, const std::string &amp;to, int offset, int length)</td></tr>
<tr class="memdesc:ae17fcc35226bbc1ad81d2c490dc0732a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace subtring which starts at <code>offset</code> and has size of <code>length</code>  <a href="#ae17fcc35226bbc1ad81d2c490dc0732a">More...</a><br /></td></tr>
<tr class="separator:ae17fcc35226bbc1ad81d2c490dc0732a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c56e3d7995198cb7e5dc25cad97f553"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a5c56e3d7995198cb7e5dc25cad97f553">replaceAll</a> (std::string &amp;str, const std::string &amp;from, const std::string &amp;to)</td></tr>
<tr class="memdesc:a5c56e3d7995198cb7e5dc25cad97f553"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace all occurrences of substring (std::string)  <a href="#a5c56e3d7995198cb7e5dc25cad97f553">More...</a><br /></td></tr>
<tr class="separator:a5c56e3d7995198cb7e5dc25cad97f553"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a69ae18732470640e3391d30cf6aed8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a0a69ae18732470640e3391d30cf6aed8">replaceAll</a> (std::wstring &amp;str, const std::wstring &amp;from, const std::wstring &amp;to)</td></tr>
<tr class="memdesc:a0a69ae18732470640e3391d30cf6aed8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace all occurrences of substring (std::wstring)  <a href="#a0a69ae18732470640e3391d30cf6aed8">More...</a><br /></td></tr>
<tr class="separator:a0a69ae18732470640e3391d30cf6aed8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6614cb21fa66108a755cdae14b6a7e35"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a6614cb21fa66108a755cdae14b6a7e35">replaceAll2</a> (std::string str, const std::string &amp;from, const std::string &amp;to)</td></tr>
<tr class="memdesc:a6614cb21fa66108a755cdae14b6a7e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace all occurrences of substring.  <a href="#a6614cb21fa66108a755cdae14b6a7e35">More...</a><br /></td></tr>
<tr class="separator:a6614cb21fa66108a755cdae14b6a7e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e0fdb118719e9f676f159a6840b288f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a7e0fdb118719e9f676f159a6840b288f">findNth</a> (const std::string &amp;str, const char delimiter, const int occurrence)</td></tr>
<tr class="memdesc:a7e0fdb118719e9f676f159a6840b288f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find nth occurrence of symbol in string (std::string)  <a href="#a7e0fdb118719e9f676f159a6840b288f">More...</a><br /></td></tr>
<tr class="separator:a7e0fdb118719e9f676f159a6840b288f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4df0a799d3d394ed0757efa84d4ccc67"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a4df0a799d3d394ed0757efa84d4ccc67">findNth</a> (const std::wstring &amp;str, const wchar_t delimiter, const int occurrence)</td></tr>
<tr class="memdesc:a4df0a799d3d394ed0757efa84d4ccc67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find nth occurrence of symbol in string (std::wstring)  <a href="#a4df0a799d3d394ed0757efa84d4ccc67">More...</a><br /></td></tr>
<tr class="separator:a4df0a799d3d394ed0757efa84d4ccc67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56b53587ce4ba82bea2cf2759be88032"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a56b53587ce4ba82bea2cf2759be88032">findNth</a> (const std::wstring &amp;str, const std::wstring &amp;delimiter, const int occurrence)</td></tr>
<tr class="memdesc:a56b53587ce4ba82bea2cf2759be88032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find nth occurrence of substring in string (std::wstring)  <a href="#a56b53587ce4ba82bea2cf2759be88032">More...</a><br /></td></tr>
<tr class="separator:a56b53587ce4ba82bea2cf2759be88032"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ef59e44bf21c1c81cfa646a57465270"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a4ef59e44bf21c1c81cfa646a57465270">rfindNth</a> (const std::string &amp;str, const char delimiter, const int occurrence)</td></tr>
<tr class="memdesc:a4ef59e44bf21c1c81cfa646a57465270"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find nth from right occurrence of symbol in string (std::string)  <a href="#a4ef59e44bf21c1c81cfa646a57465270">More...</a><br /></td></tr>
<tr class="separator:a4ef59e44bf21c1c81cfa646a57465270"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcf2d4db3ce043863733189f1a42420b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#abcf2d4db3ce043863733189f1a42420b">rfindNth</a> (const std::wstring &amp;str, const wchar_t delimiter, const int occurrence)</td></tr>
<tr class="memdesc:abcf2d4db3ce043863733189f1a42420b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find nth from right occurrence of symbol in string (std::wstring)  <a href="#abcf2d4db3ce043863733189f1a42420b">More...</a><br /></td></tr>
<tr class="separator:abcf2d4db3ce043863733189f1a42420b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add4f0fc38e60fd0d07da003ae82cb4ab"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#add4f0fc38e60fd0d07da003ae82cb4ab">rfindNth</a> (const std::wstring &amp;str, const std::wstring &amp;delimiter, const int occurrence)</td></tr>
<tr class="memdesc:add4f0fc38e60fd0d07da003ae82cb4ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find nth from right occurrence of substring in string (std::wstring)  <a href="#add4f0fc38e60fd0d07da003ae82cb4ab">More...</a><br /></td></tr>
<tr class="separator:add4f0fc38e60fd0d07da003ae82cb4ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac03eaa83b0a39beabcb923cb36924026"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#ac03eaa83b0a39beabcb923cb36924026">repeatString</a> (const std::string &amp;str, int times)</td></tr>
<tr class="memdesc:ac03eaa83b0a39beabcb923cb36924026"><td class="mdescLeft">&#160;</td><td class="mdescRight">Repeat string several times.  <a href="#ac03eaa83b0a39beabcb923cb36924026">More...</a><br /></td></tr>
<tr class="separator:ac03eaa83b0a39beabcb923cb36924026"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0897389c0ea572323c0bf049c7079495"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a0897389c0ea572323c0bf049c7079495">explode</a> (const std::string &amp;str, const char delimiter)</td></tr>
<tr class="memdesc:a0897389c0ea572323c0bf049c7079495"><td class="mdescLeft">&#160;</td><td class="mdescRight">Split string by delimiter.  <a href="#a0897389c0ea572323c0bf049c7079495">More...</a><br /></td></tr>
<tr class="separator:a0897389c0ea572323c0bf049c7079495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a046a3934ffb58a05891bf07e4a1b31ed"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a046a3934ffb58a05891bf07e4a1b31ed">explode</a> (std::string str, const std::string &amp;delimiterList, bool skipEmpty=false)</td></tr>
<tr class="memdesc:a046a3934ffb58a05891bf07e4a1b31ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Split string by delimiter.  <a href="#a046a3934ffb58a05891bf07e4a1b31ed">More...</a><br /></td></tr>
<tr class="separator:a046a3934ffb58a05891bf07e4a1b31ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adec99d68dfd7fb177e484fbe44ca55fc"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#adec99d68dfd7fb177e484fbe44ca55fc">join</a> (const std::vector&lt; std::string &gt; &amp;strList, const std::string &amp;delimiter=&quot;&quot;)</td></tr>
<tr class="memdesc:adec99d68dfd7fb177e484fbe44ca55fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Split string by delimiter.  <a href="#adec99d68dfd7fb177e484fbe44ca55fc">More...</a><br /></td></tr>
<tr class="separator:adec99d68dfd7fb177e484fbe44ca55fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7104755a2ae0879f81358d8f68bcde5f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a7104755a2ae0879f81358d8f68bcde5f">endsWith</a> (const std::string &amp;str, const std::string &amp;ending)</td></tr>
<tr class="memdesc:a7104755a2ae0879f81358d8f68bcde5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if string ends with substring.  <a href="#a7104755a2ae0879f81358d8f68bcde5f">More...</a><br /></td></tr>
<tr class="separator:a7104755a2ae0879f81358d8f68bcde5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25a60f8bb5dd9a075b021d6a4e438452"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a25a60f8bb5dd9a075b021d6a4e438452">xorEncrypt</a> (const std::string &amp;str, const std::string &amp;key)</td></tr>
<tr class="memdesc:a25a60f8bb5dd9a075b021d6a4e438452"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encrypted / decrypted string with XOR method.  <a href="#a25a60f8bb5dd9a075b021d6a4e438452">More...</a><br /></td></tr>
<tr class="separator:a25a60f8bb5dd9a075b021d6a4e438452"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">XML</div></td></tr>
<tr class="memitem:a26aa8d9f909d6c8d11852b37cb5166df"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a26aa8d9f909d6c8d11852b37cb5166df">xmlChildrenCount</a> (const pugi::xml_node &amp;node, const std::string &amp;childName=&quot;&quot;)</td></tr>
<tr class="memdesc:a26aa8d9f909d6c8d11852b37cb5166df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get XML-node count of children with specific name.  <a href="#a26aa8d9f909d6c8d11852b37cb5166df">More...</a><br /></td></tr>
<tr class="separator:a26aa8d9f909d6c8d11852b37cb5166df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf23ee26ba91300dd31ced19280c15da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#aaf23ee26ba91300dd31ced19280c15da">xmlDeleteAllChildren</a> (pugi::xml_node &amp;node)</td></tr>
<tr class="memdesc:aaf23ee26ba91300dd31ced19280c15da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete all children.  <a href="#aaf23ee26ba91300dd31ced19280c15da">More...</a><br /></td></tr>
<tr class="separator:aaf23ee26ba91300dd31ced19280c15da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Other</div></td></tr>
<tr class="memitem:a03bccb109556c3cc851ca881d4227628"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a03bccb109556c3cc851ca881d4227628">sleep</a> (int time)</td></tr>
<tr class="memdesc:a03bccb109556c3cc851ca881d4227628"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sleep for N sec.  <a href="#a03bccb109556c3cc851ca881d4227628">More...</a><br /></td></tr>
<tr class="separator:a03bccb109556c3cc851ca881d4227628"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7eafdc7698deb51a97ce77b18e1df3f7"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a7eafdc7698deb51a97ce77b18e1df3f7">getTime</a> (const char *format=&quot;%d.%m.%Y %H:%M:%S&quot;)</td></tr>
<tr class="memdesc:a7eafdc7698deb51a97ce77b18e1df3f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get system current time.  <a href="#a7eafdc7698deb51a97ce77b18e1df3f7">More...</a><br /></td></tr>
<tr class="separator:a7eafdc7698deb51a97ce77b18e1df3f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a836636e7d8a3ccb5badeaf762c4b42cc"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a836636e7d8a3ccb5badeaf762c4b42cc">intToHex</a> (int number, size_t length)</td></tr>
<tr class="memdesc:a836636e7d8a3ccb5badeaf762c4b42cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert number to hex string.  <a href="#a836636e7d8a3ccb5badeaf762c4b42cc">More...</a><br /></td></tr>
<tr class="separator:a836636e7d8a3ccb5badeaf762c4b42cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a672f57c9990f20ef9e912de5ec431a6b"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a672f57c9990f20ef9e912de5ec431a6b">hexCharToDec</a> (char c)</td></tr>
<tr class="memdesc:a672f57c9990f20ef9e912de5ec431a6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert hex char to dec number.  <a href="#a672f57c9990f20ef9e912de5ec431a6b">More...</a><br /></td></tr>
<tr class="separator:a672f57c9990f20ef9e912de5ec431a6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:af2ab81a2db88207333112a1bc3d80f6c"><td class="memItemLeft" align="right" valign="top"><a id="af2ab81a2db88207333112a1bc3d80f6c"></a>
std::mutex&#160;</td><td class="memItemRight" valign="bottom"><b>MUTEX</b></td></tr>
<tr class="separator:af2ab81a2db88207333112a1bc3d80f6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51f38bc43c9a878b906703f51cf2f863"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a51f38bc43c9a878b906703f51cf2f863">IS_WINDOWS</a> = false</td></tr>
<tr class="separator:a51f38bc43c9a878b906703f51cf2f863"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade3ce95f9eb4fd3ecf79d48bddc67549"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#ade3ce95f9eb4fd3ecf79d48bddc67549">IS_MAC</a> = false</td></tr>
<tr class="separator:ade3ce95f9eb4fd3ecf79d48bddc67549"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a658452f6c56346ee612f3729430e09"><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a2a658452f6c56346ee612f3729430e09">PROGRAM_PATH</a> = <a class="el" href="namespacetools.html#a08f0fc2373dac29ac2f465e214ad5e8e">getProgramPath</a>()</td></tr>
<tr class="separator:a2a658452f6c56346ee612f3729430e09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30df5ac303ccdb67d423cbbdcf04050d"><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a30df5ac303ccdb67d423cbbdcf04050d">TEMP_DIR</a> = <a class="el" href="namespacetools.html#a2a658452f6c56346ee612f3729430e09">PROGRAM_PATH</a> + &quot;/files/temp&quot;</td></tr>
<tr class="separator:a30df5ac303ccdb67d423cbbdcf04050d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e8f0fd5040d58a6c467fe8ad7ba3657"><td class="memItemLeft" align="right" valign="top">const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetools.html#a0e8f0fd5040d58a6c467fe8ad7ba3657">HEX_DATA</a> [] = &quot;0123456789ABCDEF&quot;</td></tr>
<tr class="separator:a0e8f0fd5040d58a6c467fe8ad7ba3657"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Helper functions (strings, files, etc.) </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a279dbca90c35b1c2ffacd5ae992c7de4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a279dbca90c35b1c2ffacd5ae992c7de4">&#9670;&nbsp;</a></span>absolutePath()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::absolutePath </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>fileName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get absolute file path. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fileName</td><td>File name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Absolute file path </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="ac746b599f8c902bb76e82c3200fc9562"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac746b599f8c902bb76e82c3200fc9562">&#9670;&nbsp;</a></span>createDir()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tools::createDir </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Recursively create directory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Directory name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="aa84f46f23807afb5657576f33866fcb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa84f46f23807afb5657576f33866fcb5">&#9670;&nbsp;</a></span>createTempDir()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::createTempDir </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create temp directory. </p>
<dl class="section return"><dt>Returns</dt><dd>Temp directory path </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a038d4029abc7692fb9e6606089d8ca5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a038d4029abc7692fb9e6606089d8ca5b">&#9670;&nbsp;</a></span>deleteDir()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tools::deleteDir </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>deleteSelf</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Recursively delete directory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Directory name </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">deleteSelf</td><td>False if should clear directory only </td></tr>
  </table>
  </dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a7104755a2ae0879f81358d8f68bcde5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7104755a2ae0879f81358d8f68bcde5f">&#9670;&nbsp;</a></span>endsWith()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool tools::endsWith </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>ending</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if string ends with substring. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ending</td><td>Ending substring </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if string ends with substring </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.1 </dd></dl>

</div>
</div>
<a id="a0897389c0ea572323c0bf049c7079495"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0897389c0ea572323c0bf049c7079495">&#9670;&nbsp;</a></span>explode() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; std::string &gt; tools::explode </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char&#160;</td>
          <td class="paramname"><em>delimiter</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Split string by delimiter. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">delimiter</td><td>Boundary symbol </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Array of strings created by splitting string parameter on boundaries formed by delimiter </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a046a3934ffb58a05891bf07e4a1b31ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a046a3934ffb58a05891bf07e4a1b31ed">&#9670;&nbsp;</a></span>explode() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; std::string &gt; tools::explode </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>delimiterList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>skipEmpty</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Split string by delimiter. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">delimiterList</td><td>Boundary symbols </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">skipEmpty</td><td>True if should skip empty substrings </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Array of strings created by splitting string parameter on boundaries formed by delimiters </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.1 </dd></dl>

</div>
</div>
<a id="af03096f8531c055ad3cd70817ea253e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af03096f8531c055ad3cd70817ea253e0">&#9670;&nbsp;</a></span>fileExists()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool tools::fileExists </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if file exists. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>File name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if file exists </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a7e0fdb118719e9f676f159a6840b288f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e0fdb118719e9f676f159a6840b288f">&#9670;&nbsp;</a></span>findNth() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tools::findNth </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char&#160;</td>
          <td class="paramname"><em>delimiter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>occurrence</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Find nth occurrence of symbol in string (std::string) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">delimiter</td><td>Symbol that should be found </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">occurrence</td><td>Occurrence number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Occurrence position </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a4df0a799d3d394ed0757efa84d4ccc67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4df0a799d3d394ed0757efa84d4ccc67">&#9670;&nbsp;</a></span>findNth() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tools::findNth </td>
          <td>(</td>
          <td class="paramtype">const std::wstring &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const wchar_t&#160;</td>
          <td class="paramname"><em>delimiter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>occurrence</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Find nth occurrence of symbol in string (std::wstring) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">delimiter</td><td>Symbol that should be found </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">occurrence</td><td>Occurrence number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Occurrence position </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a56b53587ce4ba82bea2cf2759be88032"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56b53587ce4ba82bea2cf2759be88032">&#9670;&nbsp;</a></span>findNth() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tools::findNth </td>
          <td>(</td>
          <td class="paramtype">const std::wstring &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::wstring &amp;&#160;</td>
          <td class="paramname"><em>delimiter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>occurrence</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Find nth occurrence of substring in string (std::wstring) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">delimiter</td><td>Substring that should be found </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">occurrence</td><td>Occurrence number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Occurrence position </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a812e001de085f32b853874c7d08fa076"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a812e001de085f32b853874c7d08fa076">&#9670;&nbsp;</a></span>getBaseDir()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::getBaseDir </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get get base directory for 2 files. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str1</td><td>First file name </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">str2</td><td>Second file name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Base directory name </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a736dbe10baa23bd1f164ee5b9c9893b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a736dbe10baa23bd1f164ee5b9c9893b1">&#9670;&nbsp;</a></span>getFileCount()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tools::getFileCount </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get amount of files in directory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Directory name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Amount of files </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a2230fe6af4f64a23efb4c8723848839c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2230fe6af4f64a23efb4c8723848839c">&#9670;&nbsp;</a></span>getFileNameFromPath()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::getFileNameFromPath </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get file name from path (without extension) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>File path </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>File name </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a08f0fc2373dac29ac2f465e214ad5e8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08f0fc2373dac29ac2f465e214ad5e8e">&#9670;&nbsp;</a></span>getProgramPath()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::getProgramPath </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get current executable file directory to make absolute path. </p>
<dl class="section return"><dt>Returns</dt><dd>Current executable file path </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a7eafdc7698deb51a97ce77b18e1df3f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7eafdc7698deb51a97ce77b18e1df3f7">&#9670;&nbsp;</a></span>getTime()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::getTime </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>format</em> = <code>&quot;%d.%m.%Y&#160;%H:%M:%S&quot;</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get system current time. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>Date format </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Current time </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a672f57c9990f20ef9e912de5ec431a6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a672f57c9990f20ef9e912de5ec431a6b">&#9670;&nbsp;</a></span>hexCharToDec()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char tools::hexCharToDec </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert hex char to dec number. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>Hex char </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Dec number </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a836636e7d8a3ccb5badeaf762c4b42cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a836636e7d8a3ccb5badeaf762c4b42cc">&#9670;&nbsp;</a></span>intToHex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::intToHex </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert number to hex string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">number</td><td>Input number </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Length of result string </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Hex string </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="aad5d7ef4f195ddf921a9d767ef7c1f83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad5d7ef4f195ddf921a9d767ef7c1f83">&#9670;&nbsp;</a></span>isDirectory()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool tools::isDirectory </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if path is directory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Directory name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if file name is directory </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="adec99d68dfd7fb177e484fbe44ca55fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adec99d68dfd7fb177e484fbe44ca55fc">&#9670;&nbsp;</a></span>join()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::join </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>strList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>delimiter</em> = <code>&quot;&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Split string by delimiter. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">strList</td><td>Array of strings </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">delimiter</td><td>Delimiter between strings </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>String, which is the concatenation of strings and delimiters </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.1 </dd></dl>

</div>
</div>
<a id="ab30cbe8ad8776fddd6e4816ee620366f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab30cbe8ad8776fddd6e4816ee620366f">&#9670;&nbsp;</a></span>lpad()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::lpad </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>filler</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pad string to a certain length with another string (from left) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Length of padded string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">filler</td><td>Padding symbol </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Padded string </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.1 </dd></dl>

</div>
</div>
<a id="af8e5ba98daed76b7d7e715d4d0139841"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8e5ba98daed76b7d7e715d4d0139841">&#9670;&nbsp;</a></span>ltrim()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::ltrim </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>delimiter</em> = <code>&quot;&#160;\\\\\0B&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove whitespaces and other characters from begining of string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">delimiter</td><td>Symbols that should be deleted </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Result string </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="ab1af504bf51df5e32b8e74b11a94b6b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1af504bf51df5e32b8e74b11a94b6b6">&#9670;&nbsp;</a></span>moveFile()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tools::moveFile </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>oldDir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>oldName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>newDir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>newName</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Move file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">oldDir</td><td>Old directory name </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">oldName</td><td>Old file name </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">newDir</td><td>New directory name </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">newName</td><td>New file name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a78f14ccae7c9f8268d740f27181bfc68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78f14ccae7c9f8268d740f27181bfc68">&#9670;&nbsp;</a></span>os_mkdir()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tools::os_mkdir </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dir</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mkdir realisation depending on OS. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dir</td><td>Directory name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="aadd4385b8bfaf6de5ed567c40c4b6862"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadd4385b8bfaf6de5ed567c40c4b6862">&#9670;&nbsp;</a></span>os_mkdtemp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::os_mkdtemp </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dir</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mkdtemp realisation depending on OS. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dir</td><td>Directory name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>1.3 </dd></dl>

</div>
</div>
<a id="a93d143f93cbc27e9fa0b33ee540cb223"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93d143f93cbc27e9fa0b33ee540cb223">&#9670;&nbsp;</a></span>os_rmdir()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tools::os_rmdir </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dir</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Rmdir realisation depending on OS. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dir</td><td>Directory name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>1.3 </dd></dl>

</div>
</div>
<a id="ac03eaa83b0a39beabcb923cb36924026"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac03eaa83b0a39beabcb923cb36924026">&#9670;&nbsp;</a></span>repeatString()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::repeatString </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>times</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Repeat string several times. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">times</td><td>How many times string should be repeated </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Result string </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="ae17fcc35226bbc1ad81d2c490dc0732a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae17fcc35226bbc1ad81d2c490dc0732a">&#9670;&nbsp;</a></span>replace()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::replace </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Replace subtring which starts at <code>offset</code> and has size of <code>length</code> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">to</td><td>String to replace the search string with </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>Substring start position </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Length of substring to be replaced </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>New string </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.1 </dd></dl>

</div>
</div>
<a id="a5c56e3d7995198cb7e5dc25cad97f553"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c56e3d7995198cb7e5dc25cad97f553">&#9670;&nbsp;</a></span>replaceAll() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tools::replaceAll </td>
          <td>(</td>
          <td class="paramtype">std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>to</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Replace all occurrences of substring (std::string) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">from</td><td>String to search for </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">to</td><td>String to replace the search string with </td></tr>
  </table>
  </dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a0a69ae18732470640e3391d30cf6aed8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a69ae18732470640e3391d30cf6aed8">&#9670;&nbsp;</a></span>replaceAll() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tools::replaceAll </td>
          <td>(</td>
          <td class="paramtype">std::wstring &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::wstring &amp;&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::wstring &amp;&#160;</td>
          <td class="paramname"><em>to</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Replace all occurrences of substring (std::wstring) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">from</td><td>String to search for </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">to</td><td>String to replace the search string with </td></tr>
  </table>
  </dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a6614cb21fa66108a755cdae14b6a7e35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6614cb21fa66108a755cdae14b6a7e35">&#9670;&nbsp;</a></span>replaceAll2()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::replaceAll2 </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>to</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Replace all occurrences of substring. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">from</td><td>String to search for </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">to</td><td>String to replace the search string with </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>New string </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a4ef59e44bf21c1c81cfa646a57465270"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ef59e44bf21c1c81cfa646a57465270">&#9670;&nbsp;</a></span>rfindNth() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tools::rfindNth </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char&#160;</td>
          <td class="paramname"><em>delimiter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>occurrence</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Find nth from right occurrence of symbol in string (std::string) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">delimiter</td><td>Symbol that should be found </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">occurrence</td><td>Occurrence number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Occurrence position </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="abcf2d4db3ce043863733189f1a42420b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcf2d4db3ce043863733189f1a42420b">&#9670;&nbsp;</a></span>rfindNth() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tools::rfindNth </td>
          <td>(</td>
          <td class="paramtype">const std::wstring &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const wchar_t&#160;</td>
          <td class="paramname"><em>delimiter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>occurrence</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Find nth from right occurrence of symbol in string (std::wstring) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">delimiter</td><td>Symbol that should be found </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">occurrence</td><td>Occurrence number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Occurrence position </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="add4f0fc38e60fd0d07da003ae82cb4ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add4f0fc38e60fd0d07da003ae82cb4ab">&#9670;&nbsp;</a></span>rfindNth() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tools::rfindNth </td>
          <td>(</td>
          <td class="paramtype">const std::wstring &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::wstring &amp;&#160;</td>
          <td class="paramname"><em>delimiter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>occurrence</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Find nth from right occurrence of substring in string (std::wstring) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">delimiter</td><td>Substring that should be found </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">occurrence</td><td>Occurrence number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Occurrence position </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="acecb100f4bf2747804ab45555d784594"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acecb100f4bf2747804ab45555d784594">&#9670;&nbsp;</a></span>rpad()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::rpad </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>filler</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pad string to a certain length with another string (from right) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Length of padded string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">filler</td><td>Padding symbol </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Padded string </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.1 </dd></dl>

</div>
</div>
<a id="a3f94493c0844d8d9ab256dcb57b0c39c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f94493c0844d8d9ab256dcb57b0c39c">&#9670;&nbsp;</a></span>rtrim()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::rtrim </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>delimiter</em> = <code>&quot;&#160;\\\\\0B&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove whitespaces and other characters from end of string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">delimiter</td><td>Symbols that should be deleted </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Result string </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a03bccb109556c3cc851ca881d4227628"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03bccb109556c3cc851ca881d4227628">&#9670;&nbsp;</a></span>sleep()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tools::sleep </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>time</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sleep for N sec. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">time</td><td>Time (in msec) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>1.1 </dd></dl>

</div>
</div>
<a id="ac16b995cc07db91da70d0f7c14c0447a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac16b995cc07db91da70d0f7c14c0447a">&#9670;&nbsp;</a></span>trim() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::trim </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>delimiter</em> = <code>&quot;&#160;\\\\\0B&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove whitespaces and other characters from both sides of string (std::string) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">delimiter</td><td>Symbols that should be deleted </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Result string </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a048fe42e40e4032ceb2eb1442854591a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a048fe42e40e4032ceb2eb1442854591a">&#9670;&nbsp;</a></span>trim() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::wstring tools::trim </td>
          <td>(</td>
          <td class="paramtype">const std::wstring &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::wstring &amp;&#160;</td>
          <td class="paramname"><em>delimiter</em> = <code>L&quot;&#160;\\\\\0B&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove whitespaces and other characters from both sides of string (std::wstring) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">delimiter</td><td>Symbols that should be deleted </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Result string </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a26aa8d9f909d6c8d11852b37cb5166df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26aa8d9f909d6c8d11852b37cb5166df">&#9670;&nbsp;</a></span>xmlChildrenCount()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tools::xmlChildrenCount </td>
          <td>(</td>
          <td class="paramtype">const pugi::xml_node &amp;&#160;</td>
          <td class="paramname"><em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>childName</em> = <code>&quot;&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get XML-node count of children with specific name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">node</td><td>Input XML-node </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">childName</td><td>Child name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Children count </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="aaf23ee26ba91300dd31ced19280c15da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf23ee26ba91300dd31ced19280c15da">&#9670;&nbsp;</a></span>xmlDeleteAllChildren()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tools::xmlDeleteAllChildren </td>
          <td>(</td>
          <td class="paramtype">pugi::xml_node &amp;&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Delete all children. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">node</td><td>Input XML-node </td></tr>
  </table>
  </dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a id="a25a60f8bb5dd9a075b021d6a4e438452"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25a60f8bb5dd9a075b021d6a4e438452">&#9670;&nbsp;</a></span>xorEncrypt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string tools::xorEncrypt </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Encrypted / decrypted string with XOR method. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>Input string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Cypher key </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Encrypted / decrypted string </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.2 </dd></dl>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a0e8f0fd5040d58a6c467fe8ad7ba3657"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e8f0fd5040d58a6c467fe8ad7ba3657">&#9670;&nbsp;</a></span>HEX_DATA</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char tools::HEX_DATA[] = &quot;0123456789ABCDEF&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Hex string char list </p>

</div>
</div>
<a id="ade3ce95f9eb4fd3ecf79d48bddc67549"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade3ce95f9eb4fd3ecf79d48bddc67549">&#9670;&nbsp;</a></span>IS_MAC</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const bool tools::IS_MAC = false</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>If current OS is macOS </p>

</div>
</div>
<a id="a51f38bc43c9a878b906703f51cf2f863"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51f38bc43c9a878b906703f51cf2f863">&#9670;&nbsp;</a></span>IS_WINDOWS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const bool tools::IS_WINDOWS = false</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>If current OS is Windows </p>

</div>
</div>
<a id="a2a658452f6c56346ee612f3729430e09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a658452f6c56346ee612f3729430e09">&#9670;&nbsp;</a></span>PROGRAM_PATH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string tools::PROGRAM_PATH = <a class="el" href="namespacetools.html#a08f0fc2373dac29ac2f465e214ad5e8e">getProgramPath</a>()</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Current executable file absolute path </p>

</div>
</div>
<a id="a30df5ac303ccdb67d423cbbdcf04050d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30df5ac303ccdb67d423cbbdcf04050d">&#9670;&nbsp;</a></span>TEMP_DIR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string tools::TEMP_DIR = <a class="el" href="namespacetools.html#a2a658452f6c56346ee612f3729430e09">PROGRAM_PATH</a> + &quot;/files/temp&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Temp directory path </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacetools.html">tools</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
